The Universal Serial Bus (USB) has become a wide-used network for communication between computers and peripheral devices, such as, for example, printers, scanners, storage devices, digital cameras, and personal digital assistants (PDAs). One reason for the success of USB is that peripheral devices can sometimes be automatically recognized and a communication interface automatically setup when they are connected to a computer via a USB network.
By a process called USB enumeration, when a computer detects that a peripheral device has been plugged into, or powered-up on, a USB network, it requests identification information from the peripheral device. The identification information can include an identification of a class of the peripheral device (e.g., storage device, human interface device, printing device) and identification of a vendor and/or device model number. The computer then attempts to locate an existing USB device driver within its memory that corresponds to the identification information.
When an existing USB device driver is available, the computer can automatically configure the USB device driver for use with the peripheral device, and thereby allow use of the peripheral device with the computer. However, when an existing USB device driver is not available, the computer can prompt a user to supply a custom USB device driver for the peripheral device. Peripheral devices that need a custom USB device driver are generally supplied with the driver on a compact disk (CD) read-only memory (ROM). The custom USB device driver can then be loaded into the computer via the CD-ROM. Once a computer is setup with the custom USB device driver, the peripheral device can be automatically recognized and configured for use with the computer when it is plugged into or power-up on the USB network.
Although the CD-ROM with the custom USB device driver may not be needed once the custom USB device driver is installed on a computer, a user generally must keep the CD-ROM in case the peripheral device is to be connected to another computer. Besides the possible inconvenience of retaining the CD-ROM with the peripheral device, the CD-ROM can add to the cost of the peripheral. Moreover, some computers do not have a CD-ROM drive, or they may provide a CD-ROM drive only as a peripheral device, through, for example, a docking station. Accordingly, the burden that may be placed on a user to setup a USB connection between a computer and a peripheral device may be relatively high when the peripheral device does not correspond to an existing USB device driver in the computer.